home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-27 | 60.2 KB | 1,599 lines |
-
-
-
-
-
-
-
-
-
-
-
- LJVGA: VGA Print Screen Utility
-
- Version 2.00
-
- Copyright 1991-1993 Ares Technologies. All Rights Reserved.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This document was produced in Microsoft Word for Windows 2.0 and
- typeset on an HP LaserJet III.
-
-
- We use only high-quality Maxell brand diskettes.
-
-
- VGA is a trademark of International Business Machines
- Corporation.
- Hewlett-Packard, HP, and HP LaserJet are registered trademarks of
- Hewlett-Packard Corporation.
- Microsoft, Windows, and Word for Windows are registered
- trademarks of Microsoft Corporation.
- Maxell is a registered trademark of Maxell Corporation.
- All other trade names mentioned in this document are the property
- of their respective holders.
-
- INTRODUCTION
-
- LJVGA is Terminate-and-Stay-Resident (TSR) program that allows
- you to print any VGA or Super VGA screen to an HP Laserjet or
- compatible printer. With a memory overhead of only 9k minimum,
- you can print anything you can display on your VGA card -
- graphics, text, even hi-res text and 256-color screens!
-
- LJVGA is simple to use. Just run the command LJVGA, and you're
- ready to print anything! Hitting the Print Screen key (PrtSc)
- will activate LJVGA, causing it to print your current screen to
- the printer. Text screens print just like they look, with lines
- and other special characters you don't usually get. Graphics
- screens are automatically scaled to the resolution and page you
- choose.
-
- There are no special tricks to remember, no special hot-keys to
- memorize. LJVGA does not interfere with the way you normally
- work, it simply waits in memory until you hit the Print Screen
- key. Nothing could be simpler!
-
-
- FEATURES
-
- LJVGA is without a doubt the best value available in print screen
- software. The small memory requirements provide you with
- tremendous power and flexibility. Just look at the options you
- get!
-
- + Fast printing of any screen, graphics or text, at any
- resolution, in any orientation,
-
- + Support for the new HP LaserJet 4,
-
- + 7 varieties of dithers, contrast and brightness controls,
- and more for unprecedented image control,
-
- + Robust printer control including 4 orientation printing,
- support for multiple page sizes, and more,
-
- + Intelligent screen support, including the ability to print
- any user-defined rectangular area,
-
- + Advanced algorithms for page-fill and image aspect
- correction,
-
- + Color plane control for printing color separations,
-
- + Load into UMB's to save precious memory,
-
- + Complete TSR control - enable, disable, enable, and more,
-
- + And much, much more!
-
-
- WHAT'S NEW?
-
- LJVGA has been completely rewritten for this release. The result
- is a program that is leaner, faster, and much more capable! If
- you have used LJVGA before, you will notice a greatly expanded
- option set. These new options give you much greater flexibility
- than ever before.
-
- Many parts of the program have changed, but most of the changes
- should be transparent to you. There are some points you should
- be aware of, however.
-
- + The options are now case sensitive. "-a" is different from
- "-A". This change was necessary to support the expanded
- option set.
-
- + Options are now "sticky." This means that once you set an
- option, it will not change until you tell it to, no matter
- how many times you run LJVGA!
-
- + LJVGA now has a highlight bar to show you how the print is
- progressing.
-
- + You can now print any user-defined rectangular screen
- portion.
-
-
- LJVGA FILES
-
- The following files are part of LJVGA. Depending on how you
- received LJVGA, you may have slightly different files, and you
- may receive the files either compressed or on diskette.
-
- INSTALL.BAT* The automatic installation batch file.
- STAMP.COM* The registration stamping utility. Use this
- file to register new copies of LJVGA.
- LJVGA.COM The LJVGA program file. This is the main
- program.
- LQVGA.COM The LQVGA program file. This is the
- companion utility for dot-matrix printers.
- See LQVGA.TXT for more information.
- LJVGA.TXT The LJVGA manual.
- LJVGA.PCL* The LJVGA manual in HPPCL format. Copy this
- file to your printer for a high-quality
- printed manual.
- LQVGA.TXT The LQVGA manual. Read this manual for more
- information on LQVGA.
- REGISTER.TXT The registration file. Complete this file
- and send it in to register a new copy of
- LJVGA.
- SYSOP.TXT The sysop and distributor registration form.
- Complete this form and send it in if you are
- a shareware distributor.
- DISTRIB.TXT The distributor list. This file lists public
- distributors of Ares Technologies products.
- README.TXT*** This file contains information about the
- latest changes to LJVGA.
- CHANGES.TXT*** This file contains the updated release
- history for LJVGA.
- DESC.SDI** This is an information file for BBS systems.
- FILE_ID.DIZ** This is an information file for BBS systems.
- LJVGA???.ZIP* This is the shareware version of LJVGA.
- Upload this file to your favorite on-line
- services.
- LQVGA???.ZIP* This is the shareware version of LQVGA.
- Upload this file to your favorite on-line
- services.
-
- * These files are only available with the diskette version.
- ** These files are only available with the compressed version.
- *** These files are present only if needed.
-
-
- REQUIREMENTS
-
- LJVGA is very flexible and runs on most PC compatible systems.
- However, you must have the following requirements to run LJVGA:
-
- An 8086 or better CPU.
- DOS 3.0 or later.
- A VGA or SuperVGA video adapter.
- An HP LaserJet, LaserJet 4, DeskJet or compatible printer.
- 9-30k memory depending on the options selected.
-
- LJVGA cannot print Windows screens or screens created by many
- popular games. These programs capture control of the computer so
- that LJVGA cannot function. Note that no harm will result if you
- attempt to print while running such programs, however, LJVGA will
- never activate and cannot print.
-
-
- INSTALLATION
-
- Installation of LJVGA is quick and easy. You must have the
- diskette version of LJVGA to use the automatic installation.
- Just insert your diskette in your A: drive and type
-
- a:install a: c:\ljvga
-
- This will install LJVGA to the LJVGA directory on your C: drive.
- If you have different installation requirements, use the
- following command:
-
- d:install d: <destination>
-
- where d is the drive containing the installation diskette, and
- <destination> is the directory where you want to place the LJVGA
- files.
-
- INSTALL will copy the program files onto your hard disk and run
- the registration stamping utility to customize your copy of
- LJVGA. If you are installing LJVGA for the first time, you will
- be asked to enter your name. Enter the name your software is
- registered under - either your name or your company's name.
- After you do this, your copy of LJVGA will be customized for you.
-
- If you want LJVGA to load every time you start your computer, you
- will need to modify your AUTOEXEC.BAT. Using any text editor,
- open your AUTOEXEC.BAT file (located in the root directory of
- your boot disk) and add the following lines to the end of the
- file.
-
- SET LJVGA=
- C:\LJVGA\LJVGA
-
- If your LJVGA is located in a directory other than C:\LJVGA,
- modify the above lines appropriately. Save the file and reboot
- to load LJVGA! If, once you have used LJVGA, you discover that
- you use certain options frequently, you can edit your
- AUTOEXEC.BAT and place the options at the end of the line that
- reads "SET LJVGA=". Then these options will take effect every
- time you run LJVGA!
-
- To print the formatted manual (registered versions only), change
- to your LJVGA directory and enter the following command.
-
- copy /b ljvga.pcl lpt1:
-
-
- USING LJVGA
-
- Using LJVGA is simple. To load LJVGA into memory, just enter the
- command
-
- LJVGA
-
- from the directory where LJVGA is located (usually C:\LJVGA).
- LJVGA will load with its default options, and is ready for use.
- Now whenever you press the Print Screen key, LJVGA will activate,
- producing a high-quality of your computer screen.
-
- You can modify the default options by using a combination of
- command-line switches, either the first time you run LJVGA, or
- later to modify the options already loaded in memory. LJVGA
- cannot be loaded twice. If you run LJVGA after it has been
- loaded, it will update the copy already in memory.
-
- If you need to remove LJVGA from memory after you have loaded it,
- enter the following command from the directory where LJVGA is
- located.
-
- LJVGA -u
-
- If no other TSR's have been loaded after LJVGA, it will unload
- itself, releasing any resident memory and returning Print Screen
- control to your system BIOS.
-
- LJVGA supports several different command-line switches. These
- can be entered alone or as a group to change the default behavior
- of LJVGA. Be aware that LJVGA retains any options you set until
- you unload it from memory, or until you turn the computer off.
- Therefore, if you set any special temporary options, you must
- remember to reset them when you are done. See the next section
- for a complete description of the available options.
-
-
- LJVGA ENVIRONMENT VARIABLE
-
- If you have any options which you use every time you run LJVGA,
- use the DOS environment variable "LJVGA" to set these options
- permanently. Each time LJVGA loads, it will search the
- environment for this "LJVGA". If you have set this variable,
- LJVGA will process any options set before processing the command-
- line. Thus in effect you create new defaults for LJVGA.
-
- For example, if you commonly use Floyd-Steinberg dithering with
- the brightness set to 10%, you may find yourself entering the
- command
-
- LJVGA -a2 -b10
-
- very frequently. Instead, set the "LJVGA" environment variable
- in your AUTOEXEC.BAT as follows.
-
- SET LJVGA=-a2 -b10
-
- Enter the options just like you would on the command-line. Now,
- every time you run LJVGA, it will use these options by default!
- Note, however, that you can override these options either by
- using the "-I" option to ignore the environment settings, or by
- overriding the particular option on the command-line. For
- instance, the command
-
- LJVGA -b20
-
- will still choose Floyd-Steinberg dithering as specified in the
- environment, but it will set the brightness to 20%. The option
- entered on the command-line replaces the matching option in the
- environment.
-
-
- OPTION REFERENCE
-
- LJVGA supports a rich set of options which allow you to alter its
- behaviour to suit your needs. This section lists those options,
- what they do, and how to use them. By using a combination of
- these options, you can tailor LJVGA to almost any print screen
- task.
-
- All LJVGA commands follow the syntax
-
- LJVGA [switches]
-
- where [switches] is optionally any combination of the options
- listed in this section. Each option must be separated from the
- others by a space, and must have no spaces in it.
-
- Most options are "sticky", i.e. once you set them, they remain in
- effect until you explicitly reset them, unload LJVGA, or turn off
- the computer. Some options are only effective the first time
- LJVGA is loaded and cannot be used to modify a previously loaded
- version. These options are noted in their descriptions.
-
- Note also that all options are case sensitive. In other words, "-
- a" is different from "-A". This is necessary because of the
- large number of options LJVGA supports. Be careful when you are
- entering options. If you enter an option in the wrong case, you
- may get unexpected results!
-
- The following conventions are observed for the options presented
- in this section. Note that when an option requires an argument,
- you should not type any space between the option letter and its
- argument.
-
- -V Simple options are presented as you should enter them.
- These options take no arguments.
-
- -h± Options marked with the ± symbol accept either the "-"
- or "+" characters as arguments. Use "-" to turn the
- option off, and "+" to turn it on. You may also turn
- the option on by omitting the argument. (No argument
- is the same as "+".)
-
- -Yx Options with the "x" symbol accept a single letter as
- an argument. The possible arguments will be listed for
- you under each appropriate option.
-
- -Fxxx Options with the "xxx" symbol accept a string of
- characters as an argument. This form is commonly used
- for file names, etc.
-
- -aN Options with the "N" symbol accept a number as an
- argument. Only whole numbers are allowed.
-
- -sx,x Options with a comma indicate a list of arguments.
- The arguments themselves will be of another type listed
- here. When you encounter this form, you may enter a
- list of arguments of the appropriate type with commas
- between them. Do not include any spaces! Typically,
- you can omit parts of the list by leaving the value
- blank - but make sure you still include the leading
- commas. You may also usually omit the end of the list
- and any trailing commas.
-
- ! Important comments are marked by a flag. You should
- take should take special note of any information in
- these sections.
-
- The options are grouped according to four major categories. The
- Operational Group contains options which affect the way LJVGA
- loads, unloads, and runs. The Image Control Group contains
- options which affect the way LJVGA renders the screen image. The
- Printer Control Group contains options which affect the way LJVGA
- handles printing. Finally, the Screen Control Group contains
- options which affect the way LJVGA handles the VGA hardware.
-
-
- Operational Group
-
- These options affect the way LJVGA loads, unloads, and runs.
- Various informational options are contained in this group.
-
- -? Print synopsis.
-
- This option prints a copyright notice and a short
- summary of options. No other action is taken if you
- use this option.
-
- -D± Enable debugging kernel
-
- This option will cause LJVGA to print additional
- debugging information. This option must be specified
- the first time LJVGA is loaded to enable debugging
- support. Thereafter it can be disabled with the "D-"
- option or re-enabled with the "D+" option.
-
- When debugging is enabled, LJVGA will produce an extra
- page containing information about the state of your VGA
- card each time you press the Print Screen key. This
- option should be used on the advice of Ares
- Technologies personnel to assist in resolving printing
- problems.
-
- -D+ Enable debugging.
- -D- Disable debugging (does not free up the additional
- memory).
-
- -H Load into high memory
-
- This option will cause LJVGA to load into upper (UMB)
- memory if enough memory is available. If LJVGA cannot
- load itself into high memory, it will print a warning
- and load in lower memory.
-
- ! It is recommended that you use this option instead of
- utilities such as "LOADHIGH". LJVGA has an advantage
- over such programs in that it only installs its
- resident portion into high memory. Third-party
- utilities attempt to place all of LJVGA in high memory
- and may fail.
-
- -I Ignore environment settings
-
- This option causes LJVGA to ignore any options set in
- the "LJVGA" environment variable. Only command-line
- options will be processed.
-
- -Q Quiet (no load messages)
-
- This option causes LJVGA to load without displaying any
- messages or errors.
-
- -V Verbose (load messages)
-
- This option causes LJVGA to print a summary of options
- in effect after loading.
-
- -Yx Conserve memory
-
- This option controls the amount of memory allocated to
- LJVGA. Normally LJVGA allocates as much memory as it
- requires for any possible print job. This option
- allows you to reduce the memory assigned to LJVGA by
- sacrificing the dither buffers. This prevents you from
- using the advanced dithers.
-
- 2 Normal memory. All dithers are available.
- 1 Medium memory. Only the halftones and Floyd-
- Steinberg dithering are available. (dithers 0-2).
- 0 Small memory. Only the halftones are available.
- (dithers 0 and 1).
-
- ! The conserve memory option is only valid when LJVGA is
- first loaded. This option cannot be changed once LJVGA
- is loaded.
-
- DEFAULT: -Y2
-
- -Z Reset default options
-
- This option resets all internal LJVGA settings to their
- defaults. If this option appears anywhere on the
- command-line, the internal settings are reset before
- processing any new environment and command-line
- settings.
-
- -d Disable
-
- This option will cause LJVGA to return control to the
- previously loaded print-screen routines (usually in the
- system BIOS). This option does not remove LJVGA from
- memory.
-
- -e Enable
-
- This option will enable LJVGA if it has been previously
- disabled. LJVGA will regain control with the settings
- it had when it was disabled.
-
- -n Instant print (non-resident)
-
- This option will cause LJVGA to immediately print the
- current screen without becoming resident. This option
- can be used to run LJVGA from batch files, and could be
- used to create a primitive file printing program. This
- option will cause LJVGA to ignore any previously loaded
- copy, and will use only default options and options set
- on the command-line.
-
- -h± Enable highlight bar
-
- LJVGA normally displays a highlight (progress) bar when
- processing a graphics screen. This bar lets you know
- the progress of the print screen. This option allows
- you to disable the progress bar.
-
- -h+ Enable highlight bar.
- -h- Disable highlight bar.
-
- DEFAULT: -h+
-
- -q Query current setting
- -qx Query options
-
- This option serves two roles. When specified with no
- argument, this option will cause LJVGA to display a
- summary of the current settings. This is the same
- summary available with the Verbose option (-V).
-
- This option is also used to display help on the other
- options. To get help on an option, specify the option
- letter as an argument to the "-q" option. For example,
- to get help on the available dither algorithms (option
- "-a"), specify the option "-qa".
-
- ! When this option is specified, no other processing
- occurs. Processing does occur when the Verbose option
- (-V) is set.
-
- -u Unload from memory
-
- This option will disable LJVGA and remove it from
- memory. LJVGA will return Print Screen control to the
- previously loaded print-screen routines (usually in the
- system BIOS). LJVGA will only unload if it is the last
- TSR loaded.
-
-
- Image Control Group
-
- This group contains options which affect the way LJVGA renders
- the screen image. Brightness, contrast, dither, and color
- controls are contained in this group.
-
- -Cxxx Set color mask
-
- This option allows you to specify which of the RGB
- color planes to print. This option can be used for
- advanced screen manipulation, or for printing RGB color
- separations.
-
- To set the color planes to print, specify any
- combination of the letters "R", "G", and "B". For
- example, set the option "-CR" to print only red, or "-
- CRGB" to print all colors.
-
- DEFAULT: -CRGB
-
- -aN Set dither algorithm
-
- This option allows you to select the method LJVGA uses
- for creating the output image. The "dither" is the
- method by which LJVGA determines the pattern of dots to
- print to simulate different colors. The different
- algorithms produce different results and are useful for
- different types of applications. Experiment with these
- options to see which works best for you. Possible
- values for N are listed below.
-
- 0 Halftone. This is the fastest dither pattern.
- This pattern produces different size dots
- resulting in an image similar to the pictures in a
- newspaper.
-
- 1 Bayer algorithm. This is a good, fast general-
- purpose algorithm and is characterized by cross-
- hatch patterns in the output.
-
- 2 Floyd-Steinberg algorithm. This dither method is
- slower than the Halftone and Bayer algorithms, but
- produces much better output for continuous-tone
- images. This is the same algorithm used in the
- original versions of LJVGA.
-
- 3 Burkes algorithm. This dither method is superior
- to the Floyd-Steinberg algorithm, but is slower
- and requires more memory.
-
- 4 Sierra algorithm. This dither method is superior
- to the Burkes algorithm, but is slower.
-
- 5 Jarvis algorithm. This dither method is superior
- to the Sierra algorithm, but is slower.
-
- 6 Stucki algorithm. The Stucki and Jarvis
- algorithms are approximately equal in quality and
- speed. Stucki produces slightly different results
- than Jarvis, and thus may be suitable for
- different applications.
-
- DEFAULT: -a0
-
- -bN Set image brightness
-
- This option allows you to change the percentage of
- brightness of the printed output. The output can be
- made "blacker" or "whiter" with this option. Possible
- values for N range from -100 to 100. Negative values
- increase the black level, with -100 corresponding to a
- completely black image. Positive values increase the
- white level, with 100 corresponding to a completely
- white image. 0 is the default and results in no
- adjustment.
-
- ! At 300 DPI and above on most laser printers, the black
- dots tend to overwhelm the white space, resulting in
- fairly dark images. Certain dither algorithms
- aggravate this problem. This can be compensated by
- increasing the brightness. Good results can usually be
- achieved by increasing the brightness by 10-25%.
-
- DEFAULT: -b0
-
- -cN Set image contrast
-
- This option allows you to change the percentage of
- contrast of the printed output. Areas of similar color
- can be blended or accentuated using this option.
- Possible values for N range from
- -100 to 100. Negative values decrease the contrast,
- with -100 corresponding to 50% grey output. Positive
- values increase the contrast, with 100 corresponding to
- an image with only pure black and white. 0 is the
- default and results in no adjustment.
-
- DEFAULT: -c0
-
- -g± Suppress background
-
- Some screens have large areas of background color that
- are not desirable to print. This option suppresses the
- printing of those areas, instead printing white where
- the background appears.
-
- ! This option requires that the graphics program in use
- obey the VGA conventions for background color. This is
- usually the case. Also note, however, that the
- background color can be used as a valid color in the
- image itself. LJVGA cannot detect this and will
- suppress the color anywhere it appears.
-
- DEFAULT: -g-
-
- -i± Invert image
-
- This option will invert the colors for graphics screens
- so that white on the screen will print as black and
- vice-versa. Other colors are similarly reversed,
- printing a "negative" of the screen image.
-
- DEFAULT: -i-
-
- -sx,x Set scaling
-
- This option allows you to control the size of the
- printed image. LJVGA will normally scale the printed
- image to fill the page, but you can scale the size up
- or down with this option.
-
- This option takes a pair of numbers representing the x-
- and y-scaling respectively. Each number represents the
- number of printed pixels that will be used to represent
- each screen pixel in the respective direction. For
- example, -s3,3 means that for each pixel on the screen,
- LJVGA will print a box 3 pixels wide by 3 pixels long.
-
- You can also specify certain special sizing characters
- as shown below.
-
- f Fill the page in the direction specified.
-
- m Fill the page using an evenly divisible number of
- pixels. By default LJVGA prints "partial" pixels
- in order to fill the page completely. This is
- usually invisible to the eye, but may be
- undesirable in certain situations. The "m" format
- prevents LJVGA from producing partial pixels.
- Partial pixels will be disabled in both directions
- if this format is used.
-
- d Default. Use this format to cause LJVGA to scale
- this direction to match the other. This will
- preserve the correct aspect ratio.
-
- With this option, you can set the scaling for a smaller
- image or for a larger image. If you specify a scaling
- factor greater than the maximum, the output image will
- be clipped to the dimensions of the page.
-
- You do not have to set both values. If either number
- given is 0 or d, the scaling value for that direction
- will be determined from the value for the other
- direction in order to preserve the correct aspect
- ratio. Setting both values to 0 will result in the
- default, maximum-size image.
-
- For your reference in determining the appropriate
- scaling values, LJVGA assumes that the output must fit
- on the page size selected, minus a small margin. The
- number of output pixels that this represents varies
- depending on the resolution chosen. Also, note that
- the x and y values correspond to screen dimensions, and
- thus may change depending on the page orientation
- selected.
-
- Here is a sample computation. Most laser printers can
- print approximately 2450 pixels across at 300 DPI. We
- want to represent 640 screen pixels across, so 2450 /
- 640 = 3.83. Since LJVGA only allows you to specify
- full pixels, you would enter 3 for the x value. You
- would enter d for the y value to cause it to be
- computed from the x value to produce the correct aspect
- ratio on output.
-
- DEFAULT: -sf,d
-
-
- Printer Control Group
-
- The options in this group affect the way LJVGA handles printing.
- Printer and paper selection, output redirection, and print modes
- are contained in this group.
-
- -Fxxx Print to file
-
- This option causes LJVGA to send its output to a file
- instead of the printer. To use this option, simply
- specify the filename after the "-F". For example, to
- send output to the file "screen.prn", use the option "-
- Fscreen.prn". To cause LJVGA to print to the printer
- again, specify "-F" without a filename.
-
- -F<filename> Print output to <filename>.
- -F Print output to the printer ports.
-
- ! Use this option with care. If the specified file
- already exists, LJVGA will overwrite it.
-
- DEFAULT: -F
-
- -Mxxx Mask control characters
-
- When LJVGA prints a text screen, it attempts to
- faithfully reproduce the entire contents of the screen.
- Some printers, however, cannot correctly print all of
- the control or extended characters available on the
- screen. This option can be used to prevent LJVGA from
- printing these characters. Dots or spaces will be
- printed to preserve the screen spacing. Use any
- combination of the options shown below.
-
- C Do not print control characters.
- X Do not print extended characters.
- . Print dots in place of illegal characters.
-
- Enter "-M" with no options to print all characters.
-
- DEFAULT: -M
-
- -Pxxx Select page size
-
- The option allows you to select the paper size for your
- printer. This option is dependent on the printer
- selected. Use the "-qP" option to list the page sizes
- available for your printer. The definitions for the HP
- LaserJet and LaserJet 4 are shown below. You can use
- either the number or the paper name.
-
- 0, letter American letter size paper. (8.5" x 11")
- 1, legal American legal size paper. (8.5" x 14")
- 2, executive Executive size paper. (7.25" x 10.5")
- 3, a4 A4 size paper. (210mm x 297mm)
-
- DEFAULT: Dependent on selected printer.
- -P0 on the HP LaserJet and LaserJet 4.
-
- -f± Form-feed page
-
- Normally, LJVGA will eject the page from the printer
- once it has finished printing the screen. This option
- will cause LJVGA to leave the page in the printer until
- it is full.
-
- ! You may run out of memory while printing high-res
- graphics with this switch. Make sure your printer has
- enough memory for the whole page!
-
- Also, LJVGA normally resets the printer options to
- produce the cleanest print possible. It cannot do this
- while using the -f option. If you experience problems
- printing with the -f option, manually reset your
- printer before printing.
-
- DEFAULT: -f+
-
- -kN Print multiple copies
-
- This option allows you to print multiple copies of a
- screen. N is number of copies you wish to print. For
- example, if you want five copies of a screen, enter the
- option "-k5".
-
- ! Certain printers such as the HP LaserJet have the
- ability to print multiple copies of a single page. If
- your printer has this capability, LJVGA will use it to
- print as fast as possible. If your printer does not
- support this feature, LJVGA will manually produce the
- desired number of copies.
-
- DEFAULT: -k1
-
- -lx Set printer port
-
- This option allows you to change the printer port LJVGA
- will print to. Possible values for N are 1 for LPT1, 2
- for LPT2, or 3 for LPT3. You can also set N to 0 to
- print to PRN:. Note: Setting the printer port to 0
- will also force LJVGA into DOS print mode (explained
- below).
-
- DEFAULT: -l1
-
- -mN Set print mode
-
- Set print mode. This option allows you to change the
- method by which LJVGA sends data to the printer. This
- is useful in cases where you are using some troublesome
- print redirectors or when you have a defective BIOS.
- Possible values for N are listed below.
-
- 0 BIOS print mode. All printing is done through
- calls to the system BIOS. This is the default
- option and is the fastest print mode. This option
- should be chosen except in special situations.
-
- 1 BIOS print mode with DOS Signaling. This print
- mode is intended for use with some network
- software. When using this mode, LJVGA prints all
- data through the system BIOS, but also uses DOS to
- open and close a phantom print file. This method
- can be used on some networks to signal the
- beginning and ending of a print job.
-
- 2 DOS print mode. When using this print mode, LJVGA
- prints all data through DOS calls. This option is
- included for situations in which compatibility is
- a problem, or where output should be redirected to
- special DOS devices. Printing is much slower in
- this mode.
-
- DEFAULT: -m0
-
- -ox Set page orientation
-
- This option allows you to select the direction in which
- LJVGA prints graphics screens. The possible values you
- can use for "x" are listed below.
-
- 0, p Portrait (upright) orientation.
- 1, l Landscape (sideways) orientation.
- 2 Reverse portrait (upside-down) orientation.
- 3 Reverse landscape (reverse sideways) orientation.
-
- ! LJVGA handles page orientation internally and can print
- any orientation on any printer.
-
- DEFAULT: -op
-
- -pxxx Select printer type
-
- This option allows you to set the printer type for
- LJVGA to use. Use the "-qp" option to list the
- available printer types. The currently supported
- printers are listed below. You can use the number or
- the name of the printer.
-
- 1, laserjet Selects the HP LaserJet and compatibles.
- 2, lj4 Selects the HP LaserJet 4.
-
- ! Once you have selected a printer, you cannot change to
- a more capable printer without unloading and reloading
- LJVGA. For example, if you originally selected the
- LaserJet, you cannot change to the LaserJet 4.
- However, if you originally selected the LaserJet 4, you
- can change to the LaserJet and later back to the
- LaserJet 4. This limitation occurs because of the way
- LJVGA uses memory. Accordingly, if you plan on
- switching printer type, always select the most advanced
- printer when first loading LJVGA.
-
- DEFAULT: -p1
-
- -rN,N Set resolution
-
- This option allows you to set your printer's graphics
- resolution in dots-per-inch (DPI). Resolutions
- available depend on the printer type selected. Use the
- "-qr" option to list the resolutions available for your
- printer. The resolutions available on the HP LaserJet
- and the HP LaserJet 4 are listed below.
-
- 75 75x75 dpi
- 100 100x100 dpi
- 150 150x150 dpi
- 200 200x200 dpi (LaserJet 4 only)
- 300 300x300 dpi
- 600 600x600 dpi (LaserJet 4 only)
-
- Choose the resolution you desire by setting either or
- both "N" values. LJVGA will pick the closest match to
- the resolution you specify and select it on your
- printer. Some printers, especially laser printers, can
- only print the same horizontal and vertical
- resolutions. Only the first "N" value is required in
- this case.
-
- LJVGA will automatically scale graphics to the
- resolution you choose.
-
- DEFAULT: The maximum resolution available on the
- chosen printer.
-
-
- Screen Control Group
-
- The options in this group affect the way LJVGA handles the VGA
- hardware. The only option you will commonly use in this group is
- the screen window option.
-
- -WN,N,N,N Set screen window
-
- This option allows you to select an arbitrary
- rectangular screen area to print. The format for this
- option is "-W<x start>,<y start>,<x end>,<y end>.
- Coordinates are based on a "grid" system, where the
- coordinates represent a "grid" around the actual screen
- pixels.
-
- For example, the default coordinates for a 640x480
- screen are (0, 0, 640, 480). The coordinates for the
- right side of the screen are (320, 0, 640, 480).
-
- LJVGA will automatically scale the selected rectangle
- to fill the printed page while preserving the correct
- aspect ratio.
-
- DEFAULT: Print the entire visible screen.
-
- -vN Select VGA handling mode
-
- This option allows you to specify the way LJVGA
- communicates with the VGA card. The possible values
- for N are listed below.
-
- 0 BIOS-level support only.
- 1 Direct register-level support.
-
- DEFAULT: Dependent on the VGA card type selected.
-
- -xN Set VGA card type
-
- This option allows you to override the VGA board type
- selected. The VGA card type is normally auto-detected
- and set, but you can override the default with this
- option. The currently supported board types are listed
- below.
-
- 0 Generic VGA. This is the proper setting for all
- IBM and basic VGA boards.
- 1 ATI chipset.
- 4 Paradise chipset.
-
- DEFAULT: Autodetected.
-
-
-
- EXAMPLES
-
- LJVGA Load LJVGA into resident memory using the default
- options.
-
- LJVGA -l2 Load LJVGA into resident memory and redirect
- output to LPT2:.
-
- LJVGA -ol -a2 Load LJVGA into resident memory and choose
- landscape graphics with Floyd-Steinberg
- dithering.
-
- LJVGA -r75 -n Print the current screen at 75 DPI. Do not load
- LJVGA into resident memory.
-
- LJVGA -s1,1 Load LJVGA into resident memory and set the
- scaling so that each screen pixel is represented
- by one printer pixel.
-
- LJVGA -sd,4 Load LJVGA into resident memory and set the
- scaling so that each screen pixel is represented
- by 4 printer pixels down and by an appropriate
- number of printer pixels across.
-
- LJVGA -d Disable a previously loaded copy of LJVGA and
- return print-screen control to the system BIOS.
-
- set LJVGA=-b10 -ol
- LJVGA Load LJVGA into resident memory and choose
- landscape graphics with brightness set to 10%.
-
- set LJVGA=-ol -a4
- LJVGA -a0 Load LJVGA into resident memory and choose
- landscape graphics. Choose halftone dithering.
- (The command line option -a0 overrides the
- environment option -a4.)
-
- LJVGA -plj4 -Pa4 -V Load LJVGA into resident memory with HP
- LaserJet 4 support and A4 paper selected.
- Display a summary of the loaded options when
- done.
-
- LJVGA -Y0 Load LJVGA into resident memory and make it as
- small as possible. Only halftone and Bayer
- dithers will be allowed.
-
-
- OPTION SUMMARY
-
- This section summarizes the options you can use with LJVGA.
-
- Operational Group
- -D± Enable debugging kernel
- -H Load into high memory
- -I Ignore environment settings
- -Q Quiet (no load messages)
- -V Verbose (load messages)
- -Yx Conserve memory
- -Z Reset default options
- -d Disable
- -e Enable
- -h± Enable highlight bar
- -n Instant print (non-resident)
- -qx Query options
- -u Unload from memory
-
- Printer Control Group
-
- -Fxxx Print to file
- -Mx Mask control characters
- -Pxxx Select page size
- -f± Form-feed page
- -kN Print multiple copies
- -lx Set printer port
- -mN Set print mode
- -ox Set page orientation
- -pxxx Select printer type
- -rN,N Set resolution
-
- Image Control Group
-
- -Cxxx Set color mask
- -aN Set dither algorithm
- -bN Set image brightness
- -cN Set image contrast
- -g± Suppress background
- -i± Invert image
- -sx,x Set scaling
-
- Screen Control Group
-
- -Wxxx Set screen window
- -vN Select VGA handling mode
- -xN Set VGA card type
-
-
- HOW IT WORKS
-
- LJVGA has two primary jobs - printing text and printing graphics.
- Printing text is straightforward. LJVGA simply reads the text
- from the screen and sends it to the printer. LJVGA has an
- advantage over built-in print screen routines, however, since it
- knows how to control the laser printer. Thus, LJVGA can set up
- the printer to print the extended characters such as the line-
- drawing characters. It can also set up the printer to handle
- special screen modes such as the 132x60 text modes available on
- some SuperVGA cards.
-
- Printing graphics is where LJVGA is most useful. DOS has only
- very basic graphics printing capability - and even then this
- ability is only made available by loading large TSRs. LJVGA
- solves this shortcoming by providing high-quality printing in a
- very small package - approximately 9k minimum.
-
- The biggest problem faced by LJVGA is how to produce a
- recognizable image of the screen, which can display up to 256
- colors out of a palette of 262,144 colors, on the laser printer,
- which has only 2 colors - black and white. LJVGA solves this
- problem by a method called dithering. This is a method by which
- a larger number of colors can be represented by using patterns of
- dots chosen from a smaller number of colors. In this case, this
- allows up to 256 colors to be represented by different patterns
- of only two colors.
-
- Actually, colors images cannot be accurately reproduced on a
- black-and-white printer (obviously!) Therefore, LJVGA actually
- produces a print that is based on the intensities of the colors
- on the screen. This is the same as saying that if you were to
- convert the colors on screen to shades of grey, LJVGA produces an
- approximation of the shades-of-grey screen. This works because
- the human eye is more sensitive to certain colors than to others,
- thus these colors can be approximated by different grey shades.
- Thus, by printing areas of dots of varying densities, LJVGA can
- approximate these grey shades. Printing just a few dots results
- in bright areas, while printing more dots results in dark areas.
-
- LJVGA uses two major varieties of dithering to produce these dot-
- densities. The first, fastest, method is known as ordered or
- Bayer dithering and uses a predefined pattern to reproduce each
- color. This pattern contains a set of numbers representing color
- threshold values. As the image is generated, each screen pixel
- is compared against the threshold value at the spot in the
- pattern where that pixel will be plotted. If the pixel color is
- greater than the threshold value, a dot is printed. Otherwise,
- no dot is printed. Thus the output image has a regular, ordered
- appearance, because it is based completely on the original
- pattern.
-
- LJVGA uses two different patterns for this method. The first is
- a "clustered" pattern. In this pattern, similar threshold values
- are grouped closely together to produce large dots. This pattern
- generates an image which appears to be made up of different sized
- dots, much like the pictures in a newspaper. The second pattern
- is a "dispersed" pattern which produces dots in a widely spread
- pattern. Because of the way this pattern is generated, it
- produces a characteristic cross-hatched output.
-
- The second variety of dithering is known as random dithering
- because it produces dots in a seemingly random manner. This
- dither is also known as an error-dispersion dither because of the
- way it produces dots. This method works in two steps. In the
- first step, the current screen pixel is compared against a
- predefined threshold value. If the color is greater than the
- threshold, a dot is printed, otherwise, no dot is printed. The
- second step compares what is actually printed against what should
- be printed. This produces an "error" value which is divided up
- and added to the neighboring screen pixels. This process is
- repeated for every pixel in the image. Thus if a dot is supposed
- to be dark grey and we plot black, the error value generated
- reduces the chance that the next pixel plotted will also be
- black, ensuring that we get an area of "dark grey" on the output.
-
- This method is slower than the ordered dithers because of the
- math involved, but because it is based on the image itself, and
- not on a predefined pattern, it significantly reduces the chances
- of incidental patterns ("artifacts") emerging in the final
- output. LJVGA employs five of the most popular error-dispersion
- patterns: Floyd-Steinberg, Burkes, Sierra, Jarvis, and Stucki.
-
-
- ADDITIONAL NOTES
-
- Printing graphics on a laser printer requires large amounts of
- memory. If you are planning on printing graphics screens at 300
- DPI or above, you should have at least 1 megabyte of memory in
- your laser printer. 512k should be sufficient for printing text
- and graphics at lower resolutions.
-
- LJVGA is only guaranteed to work with VGA screen modes that are
- supported by video BIOS. Most SuperVGA cards have extended BIOS
- chips which support all of the vendor-defined modes and thus will
- work with LJVGA. However, some graphics packages such as PICEM
- and VPIC can directly program VGA cards into modes not supported
- by BIOS. LJVGA is not guaranteed to work with these modes.
-
- LJVGA now has built-in hardware support for the ATI and Paradise
- chipsets. When boards utilizing these chipsets are detected,
- LJVGA will switch to VGA register-level support to control them.
- This allows LJVGA greater capability and accuracy than was
- previously possible.
-
- LJVGA can also now detect and support the 360x480x256 mode that
- some programs such as PICEM use.
-
-
- TIPS FOR MICROSOFT WINDOWS USERS
-
- LJVGA can be used with Microsoft Windows to print DOS session
- screens. Only full-screen DOS sessions are supported; all
- Windows applications and windowed DOS sessions are handled by the
- Windows native print screen handler.
-
- To use LJVGA with Windows, you must load LJVGA before entering
- Windows. You must also make a change to the PIF files used with
- the applications you wish to print. To make the required change,
- run the Windows PIF Editor and load the appropriate PIF file.
- Once you have loaded the PIF file, choose the "Advanced" button
- at the bottom of the PIF editor window. This will take you to
- the Advanced Options window. Near the bottom of this window is a
- section titled "Reserve Short-cut Keys". If you want to use
- LJVGA with this application, make sure the "PrtSc" box is
- checked. Once you have checked this box, save your changes, and
- you are ready to print your application screens!
-
-
- CURRENT KNOWN PROBLEMS
-
- LJVGA cannot print text screens with redefined character tables.
- All text prints rely on the fonts built into the printers.
- Redefined character tables allow you to create virtually
- unlimited symbols on the screen, but since the printer does not
- know about these characters, it cannot print them. This problem
- occurs with software such as the Norton Utilities for DOS.
-
- LJVGA cannot print TrueColor (15 and 24 bit) graphics. Currently
- only palette-based graphics are supported. LJVGA cannot handle
- TrueColor graphics because the complete color information is
- stored in the display memory and requires more processing to
- reproduce. TrueColor support is planned for a future version.
-
-
- REGISTRATION STAMPING UTILITY
-
- All registered copies of LJVGA come with a program called
- STAMP.COM. This program contains the registration information
- for the registered user and can be used to register new versions
- of the program which you receive from us or download from
- bulletin boards.
-
- When you register LJVGA, you can choose from three different
- registration options: current version only, current and next
- version, or Lifetime registration. Your copy of STAMP contains
- the information necessary to update new versions of LJVGA
- according to the registration option you have chosen. For
- instance, if you registered version 1.50 of LJVGA for the current
- version only, your copy of STAMP will work on any 1.xx version,
- i.e. any version up to, but not including 2.00. If you
- registered for the current version and one upgrade, your copy of
- STAMP will work on any 1.xx or 2.xx version. A copy of STAMP
- received with a Lifetime registration will work on any version of
- LJVGA available.
-
- To register a new version of LJVGA, place the new LJVGA.COM and
- STAMP.COM in the same directory. In DOS, change to the directory
- where the files are located and enter the following command.
-
- stamp ljvga
-
- The first time you run STAMP, it will prompt you for your name.
- Enter the name your software is registered under. STAMP will
- place your registration information in the new copy of LJVGA and
- will inform you when it is done. If for some reason STAMP cannot
- update LJVGA, such as if your registration has expired, you will
- receive an error message telling you what is wrong. Now your new
- copy of LJVGA is registered and ready to use!
-
-
- LJVGA RELEASE HISTORY
-
- v2.00 (930628)
-
- The loader has been completely rewritten. The graphics engine
- has been modified and extended to handle many new features. See
- the documentation for a complete explanation of the new features.
-
- v1.80 (930222) [Limited Release]
-
- Added video mode to debugging info.
- Corrected memory row-length calculations.
- Added row-length to debugging info.
- Added mode table search for ATI boards.
-
- v1.78d (930115) [Limited Release]
-
- Added the ability to detect and print graphics screens with a
- screen start offset.
- Modified setup and page borders for A4 paper.
-
- v1.77 (921215) [Limited Release]
-
- Due to continuing problems, support for interrupt 21 has been
- disabled. (again)
-
- v1.76 (921205)
-
- Section headings have been added to the debug page.
- A color table dump has been added to the debug page.
- Added direct hardware reads for the screen size. This solves
- various problems with some SuperVGA adapters which do not report
- the screen size correctly in high resolution modes.
-
- v1.75 (921109)
-
- Changed invert option. Invert now inverts the color palette,
- rather than the finished image. This fixes the problems with
- pure-white backgrounds and the brightness/contrast controls in
- inverted mode.
- Corrected a bug which prevented LJVGA from activating if DOS was
- active.
-
- v1.71 (920920)
-
- This is a maintenance release which includes only minor changes
- to the documentation.
-
- v1.70 (920818)
-
- Added full-page scaling.
-
- v1.61 (920814)
-
- Added two new Bayer dithers.
- Modified to keep only one dither pattern in active memory.
- Increased support for older networks.
- Fixed a problem with the DOS print-logging flag in Dell machines.
- Added color resolution checks for certain VGA adapters.
- Added ATI-specific code.
-
- v1.53 (920627)
-
- Added use of DOS print-screen busy flag.
- Made resident section more crash-proof.
- Added serial numbering.
-
- v1.52 (920608)
-
- Corrected color mapping for 16-color modes.
- Corrected control character printing. This bug was only
- noticeable on non-HP printers.
-
- v1.50 (920422)
-
- Added instant print option.
- Added print mode option.
- Added page orientation option.
- Added Bayer dithers. Up to 30% faster than previous dither.
- Added contrast option.
- Added brightness option.
- Added scaling option.
- Added debugging option.
- Fixed an error in the Floyd-Steinberg dithering option. Output
- is now much improved.
- Added better interrupt handling for improved safety and error
- control.
- Fixed a bug which would allow LJVGA to load when using the
- enable/disable controls.
- Fixed a bug which prevented LJVGA from finding a previously
- loaded copy in fragmented memory.
- Fixed text print routine so that control characters are printed,
- not interpreted.
-
- v1.30 (920304)
-
- Fixed a bug with command-line parsing under MS-DOS 4.0/5.0.
- Added invert option.
- Added unload option.
-
- v1.20 (910730)
-
- Added suppress form-feed option.
-
- v1.10 (910622)
-
- Added the disable/enable options.
-
- v1.00 (910326)
-
- Added resolution option.
- Added printer port option.
- Added error detection for missing or off-line printers.
- Added the ability to detect and update a previously loaded copy.
-
- v0.50 (910307)
-
- Initial release.
-
-
- PROGRAMMING FOR LJVGA
-
- You can provide advanced screen printing for your own programs
- with LJVGA! LJVGA works by hooking into the standard print
- screen interrupt vector, interrupt vector 5. (If you have ever
- seen your computer crash and begin print-screening madly, you've
- experienced interrupt 5. The microprocessor also uses interrupt
- 5 to signal an error.) Therefore, make sure LJVGA is loaded into
- memory before you run your program. Then all you have to do to
- invoke LJVGA from within your program is to generate an interrupt
- 5. Sample instructions appear below.
-
- In assembler,
-
- INT 5 ; call print screen routine
-
- In Borland C/C++,
-
- geninterrupt(5); /* call print screen routine */
-
- That's all there is to it!
-
- At the time of this writing, there is no simple way to adjust the
- internal LJVGA settings from within your programs. You can,
- however, change the LJVGA settings by running it with the
- appropriate options via a DOS shell or an EXEC call. LJVGA will
- locate the copy it has previously loaded and update it. The
- updated setting will remain in memory when the DOS shell exits.
- Combine this use with the Quiet option (-Q), and your users will
- never be aware that you have invoked a DOS shell!
-
- Direct API support into LJVGA is planned for a future release.
-
- Please note that you must have a special license to distribute
- LJVGA with your programs. Please contact Ares Technologies for
- more information about a Reseller's license.
-
-
- TECHNICAL SUPPORT
-
- If you have any questions or comments about LJVGA, contact:
-
- Mail: Ares Technologies
- 243 Fairfax Rd.
- Blacksburg, VA 24060-6595
-
- Phone: 703-552-6273
-
- E-Mail: CIS: [73237,1572]
- MHS: support @ ares
- Internet: support@ares.mhs.compuserve.com
-
- When calling for technical support, please have the following
- information available:
-
- the version of LJVGA you are using (use the -? option to
- find out)
- the make and model of VGA board you use
- the make and model of your printer
- the version of DOS you use
-
-
- Ares Technologies is also available for custom programming
- projects. Please feel free to contact us if you would like to
- discuss your programming needs.
-
-
- CREDITS
-
- LJVGA is the result of many hours of hard work and research.
- What originally began as a simple program for my own use has
- expanded into a full-featured commercial program. I could not
- have done it without the support of my users, and the many
- positive comments I have received. This credit belongs to all of
- you who have supported my efforts and made this program possible.
-
- Please, if you find this software useful, consider registering
- it. The Ares philosophy is that software should work well,
- should be easily available, and should not cost a fortune. I
- believe that LJVGA meets these goals. Your registration will
- allow me to devote more of my time to producing LJVGA and other
- quality programs.
-
- A special thanks goes out to Don Slaymaker for his unending
- patience and help in debugging the ATI-specific code sections.
- To Johann Delago for yet more help in extending the ATI hardware
- support, and many suggestions on additional hardware support. To
- David Wright & co. - my first mass reseller. To Robert Everett &
- co. for "pushing the envelope." And finally to Tom Fasulo for
- the best promotional support a shareware author could ask for.
-
-
- REGISTRATION
-
- If you find LJVGA useful and convenient, a registration of $10 or
- more would be appreciated.
-
- If you send $20 or more, you will receive a disk containing the
- current version of the software. You will also receive a disk
- with the next major version when it becomes available.
-
- For a fee of $50, you will receive a lifetime registration for
- LJVGA. This will entitle you to every major and minor version of
- LJVGA as they are released. These will be automatically sent to
- you free of additional charge.
-
- Site licenses are available for commercial and multiple user
- organizations. Please read the file REGISTER.TXT for more
- information.
-
- Reseller information is available for developers wishing to
- bundle pre-registered versions of LJVGA with their own software.
- Please contact Ares Technologies directly for more information.
-
- Please state the current version of the software you are using.
- Send check or money order to:
-
- Ares Technologies
- 243 Fairfax Rd.
- Blacksburg, VA 24060-6595
-
-
- You can also order LJVGA from the Public Software Library with
- your Visa, MasterCard, American Express, or Discover card at one
- of the following numbers. These numbers are for ordering only.
- For all other information concerning LJVGA, please contact Ares
- Technologies directly.
-
- PsL Product Number: #10515
-
- Mail: PsL
- P.O. Box 35705
- Houston, TX 77235-5705
-
- Phone: 800-2424-PSL
- 713-524-6394
-
- FAX: 713-524-6398
-
- E-Mail: CIS [71355,470]
-
-
- You can also register LJVGA on CompuServe in the SWREG forum. If
- you have a CompuServe account, logon and type "GO SWREG". Follow
- the instructions given to register your copy of LJVGA. The
- registration code for LJVGA is 227. Once we receive notification
- from CompuServe, your registered diskette will be sent to you
- automatically.
-
-
- SOFTWARE LICENSE AGREEMENT
-
- LJVGA VGA Print Screen Utility
- Copyright (c) 1991-1993 Ares Technologies. All Rights Reserved.
-
-
- Notice: By using LJVGA, you agree to be bound by the terms of
- this license. If you do not agree with the conditions listed
- herein, you may not use LJVGA. If you have any questions
- regarding your software license, please contact Ares Technologies
- at the address listed elsewhere in this document.
-
-
- You may use, copy, and distribute LJVGA for non-commercial
- purposes only, provided the following conditions are met:
-
- No fees may be charged for its use or distribution.
-
- The program and accompanying documentation must be
- distributed in whole, unmodified form.
-
- Reverse compilation, reverse engineering, or any other form
- of code decomposition is expressly prohibited.
-
- Clubs, user groups, and shareware distributors may charge a
- nominal fee for expenses and handling for distributing LJVGA.
- Operators of electronic bulletin board systems may charge
- only normal membership fees, and may not require additional
- fees for specific access to LJVGA. Distributors are
- encouraged to register with Ares Technologies. See the file
- SYSOP.TXT for additional information.
-
- Site and commercial licenses are available for LJVGA. Please
- read the file REGISTER.TXT, or contact Ares Technologies for more
- information.
-
-
-
-
- Ares Technologies hereby disclaims all warranties relating to
- this software, express or implied, including without limitation
- any warranties of merchantability or fitness for a particular
- purpose. Ares Technologies shall not be liable for any damages,
- direct, consequential, or otherwise, suffered due to loss of data
- or any other reason, even if Ares Technologies has been advised
- of the possibly of such damage. In no event shall Ares
- Technologies' liability for any damages exceed the price paid for
- the license to use the software, regardless of the form of the
- claim. The user of this software bears all risk as to the
- quality and performance of the software.
-
-
-